package negocio;

import java.sql.SQLException;
import java.util.Iterator;

import repositorio.ConexaoBD;
import repositorio.RepositorioPosto;
import dados.Posto;
import excecoes.PostoNaoExisteException;

public class ControladorPosto {

	private RepositorioPosto repositorio;
	
	public ControladorPosto(ConexaoBD conexao){
		this.repositorio = new RepositorioPosto(conexao);
	}
	
	public void cadastrar(Posto posto) throws SQLException{
			this.repositorio.inserir(posto);
	}
	
	public void remover(Posto posto) throws SQLException{
		this.repositorio.remover(posto.getId());
	}
	
	public void editar(Posto posto) throws SQLException{
		this.repositorio.editar(posto);
	}
	
	public Posto buscar(Posto posto) throws SQLException, PostoNaoExisteException{
		Posto temp = this.repositorio.buscar(posto.getId());
		
		if(temp == null){
			throw new PostoNaoExisteException();
		}
		else{
			return temp;
		}
	}
	
	public Iterator<Posto> getIterator() throws SQLException{
		return this.repositorio.iterator();
	}
	
	public boolean existe(Posto posto) throws SQLException{
		
		boolean retorno = false;
		
		Posto temp = this.repositorio.buscar(posto.getId());
		
		if(temp != null){
			retorno = true;
		}
		return retorno;
	}
}